%!TEX root = /Users/zolkko/Projects/zolkko-alarm/doc/main.tex
\subsection{Тестирование и отладка управляющего уйстройства и программного обеспечения системы}
При разработке программно-аппаратных микроконтроллерных систем не исключены ситуации возникновения
ошибок, как схемотехнического, так и алгоритмического характера. Программные ошибки могут быть обнаружены
как в программном обеспечении микроконтроллера, так и в программном обеспечении ЭВМ и ПЭВМ включаемых
в программно-аппаратный комплекс.

Естетвенным образом, требование обеспечения должного качества создаваемого программно-аппаратного
комплекса предполагает проведение дополнительных, по отношению к непосредтвенно разработке,
мероприятий: тестирования и отладки.


\subsubsection{Тестирование и отладка уравляющего устройства}
Тестирование и отладку аппаратной составляющей программно-аппаратного комплекса возможно осуществлять
c пименением следующих методов и средств:
\begin{itemize}
	\item{} осцилографов и логические анализаторов;
	\item{} внешних эмуляторов;
	\item{} анализаторов протокола;
	\item{} анализаторов дефектов;
	\item{} автоматического визуального и ренгеноконтроля;
	\item{} внутрисхемных тестеров;
	\item{} применения граничного сканирования;
	\item{} функциональных тестов.
\end{itemize}

Для тестирования и отладки усройства управления разрабатываемого программно-аппаратного комплекса
предполагается использовать интерфесы граничного сканирования. Выбор JATG как основного
средства тестирования и отладки обусловлен ниже перечисленными возможностями.

\begin{par}
	1.	Возможностью проведения внутрисхемной отладки микроконтроллера. Так как инструментарий эмуляции микроконтроллеров AVR
	семейства XMega встроен в микросхему, а доcтуп к ней осуществляется по JTAG интерфейу.
\end{par}

\begin{par}
	2.	Возмонотью проведения функционального тестирования. В этом режиме микроконтроллера становиться средством тестирования
	оставшейся части схемы.
\end{par}

\begin{par}
	3. Возможностью внитрисхемного программирования как микроконтроллера, так и других микросхем.
\end{par}


\subsubsection{Тестирование и отладка конртоллирующего сервиса}
В настоящее время ТДД методология разработки программного обеспечения получила огромное распространение.
Её суть заключается в том, что в процесе разработки приложения, перед написанием
конкретного модуля, создаётся тестовый драйвер. Этот тестовый драйвер определяет протокол
взаимодействия создаваемого модуля и проверяет его поведение. Как только наступает момент, когда
драйвер--тест сигнализирует о том, что проверяемый модуль соотвествует ожидаемому поведению,
считается, что его разработка завершина.

В стандартной библиотеке языка программирования ErLang для реализации этой методологии используетя модуль EUnit.


Область применения модуля EUnit можно расширить и на задачу отладки программных модулей ErLang,
дополняя уществующие юнит-тесты проверками выявленных ошибок с выводом более детальной диагностической информации.
Таким образом одновременно достигается две цели.
\begin{par}
 	1.	Гарантируется правильность выполнения существующих алгоритмов.
\end{par}
\begin{par}
 	2. Из классической по-этапной схемы разработки программного
		обеспечения исключаются этапы тестирование-отладка и замещаются на один обобщённый этап,
		тем самым сокращая время необходимое на полный цыкл разработки.
\end{par}

